解答1[Java]:

class Solution {
    public void sortColors(int[] nums) {
        int zero = -1;
        int two = nums.length;
        int temp;

        for (int i = 0; i < two;) {
            if (nums[i] == 1)
                i++;
            else if (nums[i] == 2) {
                temp = nums[--two];
                nums[two] = nums[i];
                nums[i] = temp;
            } else {
                temp = nums[++zero];
                nums[zero] = nums[i];
                nums[i++] = temp;
            }
        }
    }
}

三路快排的思路

results matching ""

    No results matching ""